package com.tongyi.lizhishop.api;

import com.tongyi.lizhishop.beans.BillItemBean;
import com.tongyi.lizhishop.beans.BillItemDetailBean;
import com.tongyi.lizhishop.beans.CardListBean;
import com.tongyi.lizhishop.beans.CommonResonseBean;
import com.tongyi.lizhishop.beans.EvaluationBean;
import com.tongyi.lizhishop.beans.InfoFriendBean;
import com.tongyi.lizhishop.beans.MessageBean;
import com.tongyi.lizhishop.beans.PublishedRedPackBean;
import com.tongyi.lizhishop.beans.RecommendBean;
import com.tongyi.lizhishop.beans.WithDrawRecordBean;

import io.reactivex.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * Created by meijun on 17-12-28.
 */

public interface MessageApi {


    /**
     * 修改手机号
     *
     * @param selid selid
     *              messstate    1开，2关
     */
    @GET("/frontend.php/SelMy/updateMessState")
    Observable<CommonResonseBean> updateMessState(@Query("selid") String selid,
                                                  @Query("messstate") String messstate);

    /**
     * @param selid 商家id,selid
     * @param size  每页显示记录数
     * @param page  页码
     * @return *
     * <p>
     * re	succ成功，fail失败
     * msg	信息
     * array	返回json数组
     * car_id	carid
     * car_name	优惠券标题
     * car_starttime	开始时间
     * car_endtime	结束时间
     * car_jmoney	面额
     * car_dmoney	满多少
     * car_num	发放量
     * car_numed	领取量
     * car_state	1待审，2通过，3驳回，4已开始，5结束
     */
    @GET("/frontend.php/SelMy/showCard")
    Observable<PublishedRedPackBean> showCard(@Query("selid") String selid,
                                              @Query("size") int size,
                                              @Query("page") int page);


    /**
     * 账单列表
     *
     * @param selid
     * @param day   0全部，1当天，2当月
     * @param size  每页显示记录数
     * @param page  页码
     * @return
     */
    @GET("/frontend.php/SelBill/showBill")
    Observable<BillItemBean> showBill(@Query("selid") String selid,
                                      @Query("day") String day,
                                      @Query("size") int size,
                                      @Query("page") int page);

    //// TODO: 17-12-29  似乎缺少参数 

    /**
     * 账单详情
     *
     * @param selid
     * @param day   0全部，1当天，2当月
     * @param size  每页显示记录数
     * @param page  页码
     * @return
     */
    @GET("/frontend.php/SelBill/infoBill")
    Observable<BillItemDetailBean> infoBill(@Query("bilid") String bilid);


    /**
     * 店铺评价
     *
     * @param selid 商家id,selid
     * @param size  每页显示记录数
     * @param page  页码
     * @return
     */
    @GET("/frontend.php/SelBill/showEvaluate")
    Observable<EvaluationBean> showEvaluate(@Query("selid") String selid,
                                            @Query("size") int size,
                                            @Query("page") int page);


    /**
     * 邀请好友
     *
     * @param selid 商家id,selid
     * @return
     */
    @GET("/frontend.php/SelScore/addFriend")
    Observable<CommonResonseBean> addFriend(@Query("selid") String selid);


    /**
     * 我的推荐
     *
     * @param selid 商家id,selid
     * @param size  每页显示记录数
     * @param page  页码
     * @return
     */
    @GET("/frontend.php/SelScore/showFriend")
    Observable<RecommendBean> showFriend(@Query("selid") String selid,
                                         @Query("size") int size,
                                         @Query("page") int page);

    /**
     * 推荐详情
     *
     * @param selid 商家id,selid
     * @param size  每页显示记录数
     * @param twoid 下级用户id
     * @param page  页码
     * @return
     */
    @GET("/frontend.php/SelScore/infoFriend")
    Observable<InfoFriendBean> infoFriend(@Query("selid") String selid,
                                          @Query("size") int size,
                                          @Query("twoid") String twoid,
                                          @Query("page") int page);

    /**
     * 当前余额
     *
     * @param selid 商家id,selid
     * @return
     */
    @GET("/frontend.php/SelScore/yuScore")
    Observable<CommonResonseBean> yuScore(@Query("selid") String selid);

    /**
     * 卡包列表
     *
     * @param selid 商家id,selid
     * @param size  每页显示记录数
     * @param page  页码
     * @return
     */
    @GET("/frontend.php/SelScore/showMyBank")
    Observable<CardListBean> showMyBank(@Query("selid") String selid,
                                        @Query("size") int size,
                                        @Query("page") int page);


    /**
     * 保存我的银行卡
     *
     * @param selid
     * @param bankname 银行名称
     * @param banknum  卡号
     * @param username 开户名
     * @param iphone   手机号
     * @return
     */
    @FormUrlEncoded
    @POST("/frontend.php/SelScore/savemyBank")
    Observable<CommonResonseBean> savemyBank(@Field("selid") String selid,
                                             @Field("bankname") String bankname,
                                             @Field("banknum") String banknum,
                                             @Field("username") String username,
                                             @Field("iphone") String iphone);


    /**
     * ****************************************************/


    /**
     * 删除银行卡
     *
     * @param mbanid
     * @return
     */
    @FormUrlEncoded
    @POST("/frontend.php/SelScore/deleteMyBank")
    Observable<CommonResonseBean> deleteMyBank(@Field("mbanid") String mbanid);

    /**
     * 申请提现
     *
     * @param selid  商家id,selid
     * @param money
     * @param mbanid
     * @return
     */
    @FormUrlEncoded
    @POST("/frontend.php/SelScore/addBank")
    Observable<CommonResonseBean> addBank(@Field("selid") String selid,
                                          @Field("money") String money,
                                          @Field("mbanid") String mbanid);


    /**
     * 提现记录
     *
     * @param selid
     * @return
     */
    @GET("/frontend.php/SelScore/showBank")
    Observable<WithDrawRecordBean> showBank(@Query("selid") String selid,
                                            @Query("size") int size,
                                            @Query("page") int page);


    /**
     * 消息列表
     *
     * @param selid
     * @return
     */
    @GET("frontend.php/SelMy/showMessage")
    Observable<MessageBean> showMessage(@Query("selid") String selid,
                                        @Query("size") int size,
                                        @Query("page") int page);


    /**
     * 反馈信息
     *
     * @param selid
     * @return
     */
    @FormUrlEncoded
    @POST("/frontend.php/SelMy/addOpinion")
    Observable<CommonResonseBean> addOpinion(@Field("selid") String selid,
                                             @Field("content") String content);

    @FormUrlEncoded
    @POST("/frontend.php/SelLogin/checkAPP")
    Observable<CommonResonseBean> checkAPP(@Field("number") String number,
                                           @Field("version_id") String version_id,
                                           @Field("type") String type);
}
